package com.captjack.micro.dao.database.configuration;

import com.captjack.micro.dao.database.base.BaseDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import org.springframework.stereotype.Repository;

/**
 * @author Capt Jack
 * @date 2018/4/28
 */
@Repository
public class MysqlBaseDao extends BaseDao {

    /**
     * 操作mysql
     */
    private NamedParameterJdbcTemplate mysqlNamedParameterJdbcTemplate;

    /**
     * 操作mysql
     */
    private JdbcTemplate mysqlJdbcTemplate;

    /**
     * 获取mysql数据库连接
     *
     * @return jdbc连接
     */
    protected NamedParameterJdbcTemplate getMysqlNamedParameterJdbcTemplate() {
        return mysqlNamedParameterJdbcTemplate;
    }

    /**
     * 获取mysql数据库连接
     *
     * @return jdbc连接
     */
    protected JdbcTemplate getMysqlJdbcTemplate() {
        return mysqlJdbcTemplate;
    }

    /**
     * setter形式注入
     *
     * @param mysqlJdbcTemplate 操作mysql数据源
     */
    @Autowired
    @Qualifier("mysqlJdbcTemplate")
    void setMysqlJdbcTemplate(JdbcTemplate mysqlJdbcTemplate) {
        this.mysqlJdbcTemplate = mysqlJdbcTemplate;
    }

    /**
     * setter形式注入
     *
     * @param mysqlNamedParameterJdbcTemplate 操作mysql数据源
     */
    @Autowired
    @Qualifier(value = "mysqlNamedParameterJdbcTemplate")
    void setMysqlNamedParameterJdbcTemplate(NamedParameterJdbcTemplate mysqlNamedParameterJdbcTemplate) {
        this.mysqlNamedParameterJdbcTemplate = mysqlNamedParameterJdbcTemplate;
    }

}
